1. Field of Invention
The present invention relates to a Grid application execution framework that uses semantic languages to describe the tasks and resources used to complete them.
2. Description of the Prior Art
The increasing demands placed on the Grid computing environment mandate that a high level of intelligence be built into the system, in order to solve two closely related problems. The first problem lies in the specification of the task that is requested by a user. The Grid needs a universal task specification language that can be used for describing different kinds of problems. The second problem is finding an efficient and scalable way of executing complex tasks which use heterogeneous resources and require generation and separate execution of sub-tasks within the Grid environment.
Task specification and sub-tasking are the pivotal problems for current and future Grid technologies, because they are closely related to the process of mapping and distributing the applications across Grid platforms. The vision of the Grid as a transparent high performance computation platform will not come to fruition unless we make significant progress towards solving these problems.
Foster and Kesselman proposed a distributed computing infrastructure for advanced science and engineering, which has become known as the Grid. Distributed programming technologies that marked the beginning of Grid computing, such as I-WAY and FAFNER, were tailored to particular science domains and operated on a fine-grain computation level and thus required a lot of human intervention. The development of middleware products enabled heterogeneous computing environments to pool resources and made the Grid more ubiquitous, especially with the advent of available bandwidth network technologies and new industry standards.
More recently there has been a shift in emphasis that stresses the importance of information aspects which are essential for resource discovery and interoperability. Current grid projects are beginning to explore a movement from information to knowledge. These aspects of the Grid environment are related to the evolution of web technologies and standards, such as RPC, RMI, and Web Services, to support machine-to-machine communication and the Resource Description Framework (RDF) in order to represent interchangeable resources. The concept of Grid application is also being redefined, and the future of the Grid applications will lie in high-level semantic descriptions of tasks that need to be performed using available Grid services. These services do not necessarily have to be specified explicitly and will be dynamically discovered during run-time.
The Grid environment presents us with two major problems. The first problem lies in the Grid's specification of the task that is requested by the researcher. In order for the Grid to fulfill its promise of highly available, high-performance computing platform, it needs a task specification language that is precise enough to be executable yet can be used for describing different kinds of problems. The second problem presented with the Grid environment is finding an efficient and scalable way of executing the tasks which use heterogeneous resources and require generation and separate execution of sub-tasks within the uncertainty of the Grid environment. Although this is rarely done, these two problems need to be solved in conjunction with each other. The way a task is described largely defines the constraints put on its execution.
Task specification and sub-task creation and execution are the pivotal problems for current and future Grid technologies. The vision of the Grid as a transparent computation platform will not come to fruition unless we make progress towards solving these problems. It will also allow more efficient use of the Grid resources.
The shift to the higher level (knowledge) processing (as opposed to data or information processing) necessitates the introduction of cognitive or intent-based ontologies into the Grid framework. The ontologies, or ways to comprehensively describe the environment and activities, are expected to make the Grid resources and clients more aware of their surroundings and enable them to make efficient use of resources based on a large number of characteristics. New ontology languages, such as DAML and OIL, provide rich meta-data information to the client and resource agents of the Grid.
Recent plan-based approaches describe ways of capturing knowledge and heuristics about how to select application components and computing resources, and using that knowledge to generate automatically executable job workflows for the Grid. Our approach develops these ideas further and introduces a secure agent decision-making framework that uses knowledge management and sub-tasking techniques to deal with Grid's uncertainty and effectively manage tasks and resources within the Semantic Grid framework.
Solving them requires us to provide the Grid with a certain amount of domain knowledge and task abstraction. Emerging languages and technologies, such as Web Services and Semantic Web, can be used for that purpose. Web Services allow interconnected systems to communicate using XML-based languages and represent computation actions as series of requests for automatically discoverable services. Semantic Web gives the Grid environment conceptualization. These two technologies, augmented with a flexible decision-making system and machine learning process, can form the basis of the next generation Grid.